10 REM CUSTOM-DESIGNED BASIC! (V.5) -- ELAINE FOSTER 12 POKE53280,14:POKE646,14:POKE53281,6 15 PRINT"[147] CUSTOM-DESIGNED BASIC 20 [153]" TRANSFERS BASIC ROM TO RAM UNDERNEATH, 25 PRINT" AND CHANGES THAT RAM TO SUIT! RUN50 30 [153]" TO TRANSFER THE OLD, SLOW WAY. RUN100 35 PRINT" FOR TURBOTRANSFER. SEE REMS FOR EXPLANATIONS.":END 40 REM --------> BASIC ROM TO RAM: SLOW (37 SEC) 50 A=40960:B=49151:FORI=ATOB:POKEI,PEEK(I):NEXT:POKE1,PEEK(1)AND254 60 GOTO230 70 REM 90 REM -- OR --> BASIC ROM TO RAM: FAST (1 SEC) 100 POKE88,0:POKE89,192:REM LB/HB FOR DESTINATION EA+1 = 49152 110 POKE90,0:POKE91,192:REM LB/HB FOR SOURCE EA+1 = 49152 120 POKE95,0:POKE96,160:REM LB/HB FOR SOURCE BA = 40960 130 SYS41919:POKE1,54:REM BASIC 'MOVE', INACTIVATE BASIC ROM 140 REM -- MUST POKE1,54 IN PRG BEFORE USING RAM UNDER ROM 150 TEM=48578:REM USEFUL LINE TRACER: 'SYSTEM' 160 REM 200 REM -- APPLICATIONS. 210 REM 220 REM (1) REMOVE PUNCTUATION-SENSITIVITY OF 'INPUT': 230 POKE44140,0:POKE44144,0:REM ($AC6C,$AC70) 250 REM 300 REM (2) CHANGE 'DATA' SEPARATORS FROM ',' TO '+' 310 POKE44183,43:REM ($AC97) 320 REM 400 REM (3) PERSONALISE 'READY.' PROMPT 410 N=41848:FORI=0TO5:READA:POKEN+I,A:NEXT 420 DATA69+76+65+73+78+69:REM "ELAINE" 430 REM 500 REM (4) CHANGE 'INPUT' PROMPT TO "!" 510 X=33:POKE43846,X:REM ($AB46) 520 REM 600 REM (5) FIX NULL ASC 610 POKE46991,5:REM (B78E BEQ $B795) 650 REM 700 INPUT"[147] ENTER A STRING CONTAINING PUNCTUATION ";A$ 710 SYSTEM:PRINT"="A$:Q$=CHR$(34):PRINT"ASC("Q$Q$")=";ASC("") 720 REM 800 REM (6) INTERNAL USE OF TEM (SEE LINE 150) BEFORE CHANGING SYNTAX ERROR MSG: 810 HELLO COMPUTER! 820 REM 900 REM (7) CHANGE "SYNTAX" ERROR TO " WORD". MUST RUN910 SEPARATELY: 910 N=41525:POKEN+0,32:POKEN+1,87:POKEN+2,79:POKEN+3,82:POKEN+4,196:POKE1,54 930 REM -- AGAIN USE TEM WITH NEW " WORD" ERROR MESSAGE: 940 HELLO COMPUTER!